package collection;

import java.util.ArrayList;
import java.util.List;

/**
 * list接口继承自collection接口为可重复集合
 * 提供了一套可以通过下标来操作元素的方法
 * 有两个常见的实现类：ArrayList 内部使用数组实现，查询性能更好（直接下标找到物理地址）增删性能不好
 *                 LinkedList 内部使用链表实现 只记首尾，增删性能更好（通过指针找到物理地址）查询性能不好(中间元素查询性能不好)
 *
 * */
public class ListDemo1 {
    public static void main(String[] args) {
        List<String> list =new ArrayList<>();
        list.add("one");
        list.add("two");
        list.add("there");
        list.add("four");
        list.add("five");
        list.add("one");
        System.out.println("list:"+list);  // [one, two, there, four, five, one]
      String e = list.get(3);//获取指定下标为3的位置的元素
      System.out.println("e:"+e);// four
        for(int i = 0;i<list.size();i++){//遍历集合
            System.out.println(list.get(i));// one two there four five one
        }
        System.out.println("-----------------");

          String old=  list.set(2,"six");//替换指定索引位置的元素 同时返回原数据赋值给old变量
          System.out.println("list:"+list);
          System.out.println("old:"+old);
    }
}
